labelとtext UI
実際のデザインシステムから
form-group-header内にlabelを配置し、form-group-headerでlayoutスタイル、labelタグにfont-weightなど割当(GitHub Primer) 自分が実装した例
偶にアクセスされているので自分の実装例書いておく。 Ref: cowcamo
https://i.gyazo.com/2fe499cc28d9b080cd112c48118d44b1.png
code:ex.html
<div class="p-form__field">
<label class="p-form__fieldTitle" for="tel">
電話番号
<span class="c-tag">必須</span>
</label>
<div class="c-textField -full">
<input type="tel" placeholder="0357250182" autocomplete="tel" name="tel" id="tel">
</div>
</div>
ポイント説明
labelとinputは、DOM的に階層構造でないので、forでつなげる。
構造とCSS
p-form__field
p-form__fieldTitle
labelタグには依存させないスタイル
画像の様に、タグ Tag uiが添付されることも多いので、Layout出来るようにclassがほしい。 input単体なら、labelタグを利用
radioUIといった、テキスト部分もヒットターゲットにしたい場合は、単なるspanにしたりする。
何かしらのinput用のDOM
上記の構造にして、input部分に何が来ても対応出来る形にしている。
https://i.gyazo.com/f732183f6c0fed8924dd2373da6dfd8b.png
※ 実装は、railsのformなので、nameやidは自動で割り当てられるものを削りました。
参考